// 小程序提供了数据请求的方案
// https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html
const baseURL = 'http://121.89.205.189/api'
const app = getApp()
// 小程序要求请求的地址必须是 https协议的，还必须是备案过的域名
// 如果你的小程序的接口不满足，开发阶段可以 绕过这个限制，但是上线时必须满足条件
// 编辑器的右上角 -- 详情 --本地设置  --- 勾选不校验合法域名
const request = (config) => {
  // 数据开始请求之前 ---- 给添加一个加载的动画
  // https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html
  wx.showLoading({
    title: '加载中',
  })
  
  let {
    url,
    method,
    data,
    header
  } = config
  url = url ? baseURL + url : ''
  method = method ? method.toUpperCase() : 'GET'
  data = data || {}
  header = {
    token: app.globalData.token
  }
  // wx.request() 不支持直接调用 promise，封装称promise
  return new Promise((resolve, reject) => {
    wx.request({
      url, //仅为示例，并非真实的接口地址
      data,
      header,
      method,
      success (res) { // 请求成功
        console.log('666', res)
        if (res.data.code === '10119') {
          wx.navigateTo({
            url: '/pages/login/login',
          })
        } else {
          resolve(res)
        }
      },
      fail (err) { // 请求失败
        reject(err)
      },
      complete () { // 请求完成
        // 加载动画消失
        wx.hideLoading()
      }
    })
  })
}

export default request